package com.jahepi.android.actividad.viaje;

import java.util.ArrayList;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

import com.jahepi.android.AdaptadorGenerico;
import com.jahepi.android.AplicacionBase;
import com.jahepi.android.R;
import com.jahepi.android.actividad.ActividadAuth;
import com.jahepi.android.actividad.MenuActividad;
import com.jahepi.android.dto.Viaje;

public class ViajePendienteListaActividad extends ActividadAuth {
	
private static String TAG = "ViajePendienteListaActividad";
	
	private ListView viajeListView;
	private ViajePendienteAdapter adapter;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista);
		
		TextView listaTextView = (TextView) findViewById(R.id.listaTextView);
		listaTextView.setText("Listado de Viajes Pendientes");
		
		Button listaButton = (Button) findViewById(R.id.listaButton);
		listaButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				startActivity(new Intent(ViajePendienteListaActividad.this, MenuActividad.class));
			}		
		});
		
		ArrayList<Viaje> viajes = app.obtenerViajesPendientes();
		
		if(viajes.isEmpty()) {
			toast(this, "No se pudieron encontrar viajes pendientes de hoy!");
		}
		
		adapter = new ViajePendienteAdapter(this, R.layout.fila);
		adapter.addCollection(viajes);
		
		viajeListView = (ListView) findViewById(R.id.listaListView);
		viajeListView.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
				Log.d(TAG, "Click en un viaje pendiente!");
				Viaje viaje = (Viaje) adapter.getItem(position);
				Intent intent = new Intent(ViajePendienteListaActividad.this, ViajePendienteConfirmacionActividad.class);
				intent.putExtra(AplicacionBase.AGREGADO_INTENT, viaje.getId());
				startActivity(intent);
			}
		});
		
		viajeListView.setAdapter(adapter);
	}
	
	private class ViajePendienteAdapter extends AdaptadorGenerico {
		
		public ViajePendienteAdapter(Context context, int textViewResourceId) {
			super(context, textViewResourceId);
		}

		@Override
		protected void populate(View view, int position) {
			Viaje viaje = (Viaje) getItem(position);
			TextView filaTextView = (TextView) view.findViewById(R.id.filaTextView);
			filaTextView.setText(viaje.obtenerDetalle());
		}		
	}
}
